#ifndef OBJECTBASETOOL_H
#define OBJECTBASETOOL_H
#include "StomperLib/Controls/ObjectProperties.h"
#include "StomperLib/ToolElement.h"

namespace StomperLib {

namespace Elements
{
class ObjectBaseTool : public StomperLib::ToolElement
{
 public:

  ObjectBaseTool( StomperLib::BaseLayout* layout, StompedReality::IGame* game, StomperLib::EditorCamera* camera );
  virtual ~ObjectBaseTool( );

  virtual void Draw( );
  virtual bool Update( );

 public:

  Gwen::Event::Caller onSelectionChanged;

 private:

  void CreateGui( StomperLib::BaseLayout* layout );

 private:

  bool SelectOnMouseClick( );
  bool DeleteOnMouseClick( );

  virtual void RenderObjects( ) {
  };
  virtual void RenderSelectedObjects( ) {
  };

  bool UpdateTranlating( );

 protected:

  std::function<bool(StomperLib::EditorObjectInfo*)> SelectionFunction;
  StomperLib::Controls::ObjectProperties* m_Propeties;
  void UpdatePropertyObject( );
  bool m_IsTranslating;
};

}
}
#endif // ifndef OBJECTBASETOOL_H